During the last decades, the design of communication systems has known a considerable evolution in order to satisfy increasing demands in terms of services and applications. The growing number of users and connected machines appeals for conceiving more and more reliable communication platforms and devices capable of providing real-time services with higher capacities.
Multiple-Input Multiple Output (MIMO) technologies have proved themselves as potential candidates to meet such targets. They have made an important contribution in the design of most performing communication systems available today. MIMO technologies have been for example incorporated in several standards such as in wireless LANs (WiMAX IEEE 802.16) and cellular mobile networks (3G and 4G).
MIMO technologies owe their success to their capability to increase data transmission rates by exploiting space and time dimensions for communicating data over a multiplicity of antennas and during a multiplicity of time slots. Space-Time coding techniques are used in transmitter devices to encode flows of information symbols carrying original data. Space-Time decoding techniques are implemented in receiver devices observing outputs of a MIMO channel to estimate the original data conveyed by one or more transmitter devices.
Space-Time coding and decoding techniques can be implemented in a wireless single-user MIMO system accommodating one multi-antenna transmitter device communicating with one multi-antenna receiver device. In such scenario, the multiple inputs of the MIMO system originate from the same transmitter device, and the multiple outputs are received at a single receiver device.
Space-Time coding and decoding techniques can be used in a wireless multi-user MIMO system accommodating a set of users equipped with one or more antennas and communicating with each other. Such communication system is also called ‘distributed MIMO’ since the multiple inputs are distributed in space over the different users. Cellular uplink communication is an example of a distributed MIMO channel. Different user equipments using each with one or more antennas that belong to a same coverage cell may communicate with a base station equipped with multiple antennas.
Space-Time coding and decoding techniques can be used in optical fiber communication systems. For example, the two polarization states of the electrical field of the optical wave or the different propagation modes of multi-mode optical fibers may be exploited to encode and decode a modulated signal carrying a sequence of binary data. Such optical MIMO systems have been identified as promising solutions for providing high transmission rates in optical-fiber links over long distances. Exemplary applications comprise Polarization Division Multiplexed systems (PMD) and Mode Division Multiplexed systems (MDM).
Space-Time coding and decoding techniques can be used in combination with multicarrier techniques using a large number of orthogonal sub-carriers. Exemplary applications comprise OFDM and Filter Bank Multicarrier (FBMC) systems. OFDM modulation formats are used to combat frequency-selective channels, interference and delays. FBMC systems may be used for example for dynamic access spectrum management and cognitive radio applications.
Space-Time coding and decoding techniques may further be used in combination with multiple access techniques in presence of several transmitters. Multiple access techniques are used to manage the access to shared resources, such as bandwidth, between the different users communicating in a same communication system. Exemplary multiple access techniques are the Code Division Multiple Access (CDMA) used for example in radio communication systems (e.g. 3G standards) and Wavelength Division Multiple Access (WDMA) used for example in optical communication systems.
Due to the multipath and superposition properties of the wireless medium and to the dispersion and multiple reflections of the optical fiber propagation environment, information symbols originating from the multiple inputs are mixed at the receiver device. The received signal or MIMO channel output represents a set of multiple linear combinations of different information symbols sent by one or more users, using one or more antennas, during different time slots and over different sub-carriers. The superposition of the different information symbols results in an inter-symbols interference in each linear combination.
A receiver device in a MIMO system implements a Space-Time decoder for estimating, from the received signal and a channel state matrix, the original data conveyed by one or multiple transmitter devices. It compares the received vector of information symbols with the possible transmitted symbols. Several decoding rules may be used depending on the required performance level and processing capabilities of receiver devices. The optimal decoding rule for uniformly distributed information symbols is known as maximum-likelihood (ML) decoding. It results in the minimum probability of decoding error. An ML decoder decides in favor of the vector of information symbols that is closest to the received signal. The closest vector to the received signal represents the vector that has the minimum Euclidean Distance with respect to the received signal.
ML decoders can be implemented in several ways. Exhaustive search-based implementations require intensive processing and storage capabilities that may exceed the available ones. Alternative ML sequential decoding schemes may be used to provide optimal performance while employing fewer computational and storage resources than the exhaustive search-based methods.
Sequential decoders are based on a QR decomposition of the channel state matrix and perform a tree search in a decoding tree to solve the ML decoding problem. The decoding tree comprises a plurality of nodes, levels, branches and paths. Nodes correspond to the different possible values of the information symbols.
Several ML sequential decoders exist and are generally divided into three families according to the tree-search strategy. Sequential decoders may be based on a depth-first strategy as disclosed for example in:                “E. Viterbo and J. Boutros. A universal lattice code decoder for fading channels. IEEE Transactions on Information Theory, 45(5):1639-1642, July 1999.”        
A breadth-first tree-search strategy may be used as in the Stack decoder disclosed for example in:                “R. Fano. A heuristic discussion of probabilistic decoding. IEEE Transactions on Information Theory, 9(2):64-74, 1963.”        
Other Sequential decoders may be based on a best-first strategy like the SB-Stack decoder as disclosed for example in the “G. R. Ben-Othman, R. Ouertani, and A. Salah. The spherical bound stack decoder. In Proceedings of International Conference on Wireless and Mobile Computing, pages 322-327, October 2008.”
Space-Time (ST) decoders can be generally categorized as joint, single-stream or sub-block decoders, depending on whether the different streams constituting the vector of original information symbols are detected jointly, individually, or in groups of sub-vectors respectively. Joint decoders offer optimal performance but require a high computational complexity that increases as a function of the size of the constellation and of the number of deployed antennas. The size of the constellation generally impacts the number of nodes to be visited at each level. The number of deployed antennas generally impacts the number of levels in the decoding tree.
Using single-stream decoders, the various information symbols can be decoded individually. Single-stream decoders may rely on a linear decoding approach. In a linear decoding approach, the decoder first creates interference-free data flows to decouple the different information symbols and then delivers an estimation of each symbol separately. Accordingly, the decision on a given information symbol is independent from the remaining estimated symbols. Interference elimination in the first step is realized through a projection of the channel output using a filtering matrix. Zero-Forcing (ZF) and Minimum Mean Squared Error (MMSE) detectors are examples of linear single-stream decoders. Alternatively, Single-stream decoders can operate according to a non-linear decoding approach, the information symbols being estimated individually. However, unlike linear decoders, the estimation of a given symbol is impacted by the previously estimated symbols with non-linear decoders. The Zero Forcing-Decision Feedback Equalizer (ZF-DFE) decoder is an example of a non-linear single-stream decoder. It is known as a Successive Interference Cancellation (SIC) scheme. It uses a QR decomposition of the channel state matrix to recursively determine estimations of each single symbol from previously estimated symbols. Inter-symbol interference is then cancelled recursively, any decoding errors on a given symbol being propagated over the forthcoming estimations thereby inducing performance degradation. Linear and non-linear single-stream decoders require low decoding complexity but offer limited performance. Preprocessing techniques such as Lattice reduction and MMSE-GDFE preprocessing may be applied prior to decoding using such approaches to obtain better performance.
Using sub-block decoders, the vector of information symbols is divided into a plurality of sub-vectors and each sub-vector is decoded separately. The sub-vector division of the information symbols is performed in accordance with a sub-block division of a transmission channel representative matrix.
Certain sub-block decoders apply a combined ML and DFE decoding scheme for wireless MIMO systems using spatial multiplexing of data streams as disclosed in “Won-Joon Choi, R. Negi, and J. M. Cioffi. Combined ML and DFE decoding for the V-BLAST system. IEEE International Conference on Communications. Volume 3, pages 1243-1248, 2000.” Accordingly, the vector of information symbols of a length n is divided into two sub-vectors of lengths p and n-p respectively. In a first decoding phase, the sub-vector comprising p information symbols is estimated using an ML decoder. Using these estimated symbols, the receiver recursively performs an inter-symbol interference cancellation using a decision feedback equalization to determine an estimation of the remaining n p symbols composing the second sub-vector of information symbols. Such 2-block decoding schemes allow the achievement of better performance than ZF-DFE decoding.
Other sub-block decoding schemes have been proposed for Space-Time Coded MIMO systems using linear Space-Time Block Codes (STBC). Particular classes of low-complexity ML-decodable STBCs have been considered such as the family of multi-group decodable codes disclosed in:                “D. N. Dao, C. Yuen, C. Tellambura, Y. L. Guan, and T. T. Tjhung. Four-group decodable space-time block codes. IEEE Transactions on Signal Processing, 56(1):424-430, January 2008.”        
Other classes of low-complexity ML-decodable STBCs comprise fast decodable codes as disclosed in:                “E. Biglieri, Y. Hong, and E. Viterbo. On fast-decodable space-time block codes. In IEEE International Zurich Seminar on Communications, pages 116-119, March 2008.”        
Still other classes of low-complexity ML-decodable STBCs comprise fast-group decodable codes as disclosed in:                “T. P. Ren, Y. L. Guan, C. Yuen, and R. J. Shen. Fast-group-decodable space-time block code. In Proceedings of IEEE Information Theory Workshop, pages 1-5, January 2010.”        
Sub-block decoding in the presence of an STBC that belongs to one of these families of codes may be advantageously performed using the QR decomposition of the channel state matrix. The zero structure of the equivalent transmission channel matrix allows recursive decoding of the various sub-vectors of information symbols with reduced complexity without sacrificing the decoding error performance. Particularly, some sub-vectors of symbols may be estimated in a separate way in parallel allowing for faster and lower-complexity decoding.
The order at which the information symbols are decoded may affect the performance and/or the decoding complexity of ST decoders, essentially the decoding techniques based on the QR decomposition of the channel state matrix.
For example, an ordering of the different information symbols prior to sequential decoding may be implemented to accelerate the phase of the tree-search and therefore reduce the computational complexity required to find the ML solution.
Certain single-stream detectors using the ZF-DFE implement a ordering of the information symbols prior to decoding to reduce the impact of the inter-symbol interference and enhance the performance of ZF-DFE decoding.
Several examples of symbol decoding ordering such as V-BLAST and H-norm ordering have been proposed for ML sequential and single-stream decoders. V-BLAST ordering is disclosed, among other works, in: “G. J. Foschini. Layered Space-Time Architecture for Wireless Communication in a Fading Environment When Using Multi-Element Antennas. Bell Labs Tech. J. Volume 1, pages 41-59. 1996” is identified as the optimal ordering for ZF-DFE decoding. Accordingly, the symbol decoding order is organized according to their signal-to-noise ratios (SNR) in a decreasing order such that the first detected symbol is associated with the highest SNR. H-norm ordering is disclosed in: “M.-O. Damen, H. El-Gamal, and G. Caire. On maximum-likelihood decoding and the search for the closest lattice point. Information Theory, IEEE Transactions on, 49(10):2389-2402, October 2003”. It consists of sorting the information symbols in accordance with a ordering of the column vectors of the channel state matrix according to an increasing order of their Euclidean norm.
To change the symbol decoding order, the ordering of the columns of the channel state matrix is generally changed. In certain decoders, the ordering of the columns of the channel state matrix is performed using a permutation matrix to achieve the desired ordering of the columns.
Existing symbol decoding ordering techniques perform symbol ordering according to a symbol-related ordering criterion. Such techniques may require an intensive computational complexity to find the permutation matrix that satisfies the desired ordering criterion. Their practical implementations may not be possible particularly in presence of a high number of transmit and/or receive antennas. Further, existing ordering techniques may not be applicable to sub-block decoders.